//所有float类型数据的精度是lowp
varying highp vec2 aCoord;
//采样器  uniform static
uniform sampler2D vTexture;

//cpu  传进来  scalePercent 放大 增加1f》2f终止
uniform highp float scalePercent;

//混合 透明度 1f》0f 有大变小
uniform lowp float mixturePercent;

void main(){
    //刚进到片元着色器时，【采样点】和【绘制点】其实是一样；
    //但是片元着色器中【绘制点】是隐藏且固定的不可修改，都是从屏幕左上角（0,0)并发绘制
    //片元着色器中可以修改的是【采样点】的坐标和颜色
    //采样器采完颜色后再给绘制点上色

    //以中心点发散
    highp vec2 center=vec2(0.5, 0.5);

    //临时变量，记录此时固定的绘制点的坐标
    highp vec2 textureCoordinateToUse = aCoord;

    textureCoordinateToUse-=center;
    //采样点 一定比     需要渲染 的坐标点要小     y 轴

    // [0,-0.1]  /  1.1   =  [0, -0.09]
    //    textureCoordinateToUse 增大 1  减小  2
    textureCoordinateToUse=textureCoordinateToUse/scalePercent;

    //[0, -0.09]   +  [0.5,0.5] =[0.5,0.41]    ,0.41    实际是变大
    textureCoordinateToUse+=center;


    //将要绘制点的颜色
    lowp vec4 textureColor = texture2D(vTexture, aCoord);
    //实际采样点的颜色
    lowp vec4 textureColor2= texture2D(vTexture,textureCoordinateToUse);
    gl_FragColor= mix(textureColor,textureColor2,mixturePercent);
}